--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
sbapp/ui/objectdetails.py bfcff07025cf00a274c9412cc69d8649f08b8f66 (bfcff070) Text, 32.02 KB
Tff7b72import T7ee787time
Tff7b72import T7ee787RNS
Tff7b72from T7ee787kivyT7ee787.T7ee787metrics Tff7b72import Te6edf3dpTb4b4b4,Te6edf3sp
Tff7b72from T7ee787kivyT7ee787.T7ee787langT7ee787.T7ee787builder Tff7b72import Te6edf3Builder
Tff7b72from T7ee787kivyT7ee787.T7ee787coreT7ee787.T7ee787clipboard Tff7b72import Te6edf3Clipboard
Tff7b72from T7ee787kivyT7ee787.T7ee787utils Tff7b72import Te6edf3escape_markup
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787recycleview Tff7b72import Te6edf3MDRecycleView
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787list Tff7b72import Te6edf3OneLineIconListItem
Tff7b72from T7ee787kivyT7ee787.T7ee787properties Tff7b72import Te6edf3StringPropertyTb4b4b4, Te6edf3BooleanProperty
Tff7b72from T7ee787kivyT7ee787.T7ee787effectsT7ee787.T7ee787scroll Tff7b72import Te6edf3ScrollEffect
Tff7b72from T7ee787kivyT7ee787.T7ee787clock Tff7b72import Te6edf3Clock
Tff7b72from T7ee787sidebandT7ee787.T7ee787sense Tff7b72import Te6edf3Telemeter
Tff7b72import T7ee787threading
Tff7b72import T7ee787webbrowser
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787button Tff7b72import Te6edf3MDRectangleFlatButton
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787dialog Tff7b72import Te6edf3MDDialog
Tff7b72from T7ee787kivymdT7ee787.T7ee787toast Tff7b72import Te6edf3toast
Tff7b72from T7ee787datetime Tff7b72import Te6edf3datetime
Tff7b72from T7ee787kivyT7ee787.T7ee787utils Tff7b72import Te6edf3escape_markup
Tff7b72if Te6edf3RNSTff7b72.Td2a8ffvendorTff7b72.Td2a8ffplatformutilsTff7b72.Td2a8ffget_platformTb4b4b4(Tb4b4b4) Tff7b72== Ta5d6ff"Ta5d6ffandroidTa5d6ff"Tb4b4b4:
Tff7b72from T7ee787uiT7ee787.T7ee787helpers Tff7b72import Te6edf3multilingual_markup
Tff7b72elseTb4b4b4:
Tff7b72from T7ee787.T7ee787helpers Tff7b72import Te6edf3multilingual_markup
Tff7b72if Te6edf3RNSTff7b72.Td2a8ffvendorTff7b72.Td2a8ffplatformutilsTff7b72.Td2a8ffget_platformTb4b4b4(Tb4b4b4) Tff7b72== Ta5d6ff"Ta5d6ffandroidTa5d6ff"Tb4b4b4:
Tff7b72from T7ee787uiT7ee787.T7ee787helpers Tff7b72import Te6edf3ts_format
Tff7b72elseTb4b4b4:
Tff7b72from T7ee787.T7ee787helpers Tff7b72import Te6edf3ts_format
Tff7b72class T56d364ObjectDetailsTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Te6edf3appTb4b4b4, Te6edf3object_hash Tff7b72= Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffapp Tff7b72= Te6edf3app
Tff7b72selfTff7b72.Td2a8ffwidget Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8ffobject_hash Tff7b72= Te6edf3object_hash
Tff7b72selfTff7b72.Td2a8fflastest_timestamp Tff7b72= T79c0ff0
Tff7b72selfTff7b72.Td2a8ffcoords Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8ffraw_telemetry Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8fffrom_telemetry Tff7b72= Tff7b72False
Tff7b72selfTff7b72.Td2a8fffrom_conv Tff7b72= Tff7b72False
Tff7b72selfTff7b72.Td2a8ffviewing_self Tff7b72= Tff7b72False
Tff7b72selfTff7b72.Td2a8ffdelete_dialog Tff7b72= Tff7b72None
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffrootTff7b72.Td2a8ffidsTff7b72.Td2a8ffscreen_managerTff7b72.Td2a8ffhas_screenTb4b4b4(Ta5d6ff"Ta5d6ffobject_details_screenTa5d6ff"Tb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffscreen Tff7b72= Te6edf3BuilderTff7b72.Td2a8ffload_stringTb4b4b4(Te6edf3layout_object_detailsTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffapp Tff7b72= Tff7b72selfTff7b72.Td2a8ffapp
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Tff7b72selfTff7b72.Td2a8ffids Tff7b72= Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffids
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffrootTff7b72.Td2a8ffidsTff7b72.Td2a8ffscreen_managerTff7b72.Td2a8ffadd_widgetTb4b4b4(Tff7b72selfTff7b72.Td2a8ffscreenTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffobject_details_containerTff7b72.Td2a8ffeffect_cls Tff7b72= Te6edf3ScrollEffect
Tff7b72selfTff7b72.Td2a8fftelemetry_list Tff7b72= Te6edf3RVDetailsTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8fftelemetry_listTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Tff7b72selfTff7b72.Td2a8fftelemetry_listTff7b72.Td2a8ffapp Tff7b72= Tff7b72selfTff7b72.Td2a8ffapp
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffobject_details_containerTff7b72.Td2a8ffadd_widgetTb4b4b4(Tff7b72selfTff7b72.Td2a8fftelemetry_listTb4b4b4)
Te6edf3ok_button Tff7b72= Te6edf3MDRectangleFlatButtonTb4b4b4(Te6edf3textTff7b72=Ta5d6ff"Ta5d6ffOKTa5d6ff"Tb4b4b4,Te6edf3font_sizeTff7b72=Te6edf3dpTb4b4b4(T79c0ff18Tb4b4b4)Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffinfo_dialog Tff7b72= Te6edf3MDDialogTb4b4b4(
Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffInfoTa5d6ff"Tb4b4b4,
Te6edf3textTff7b72=Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3buttonsTff7b72=Tb4b4b4[ Te6edf3ok_button Tb4b4b4]Tb4b4b4,
Tb4b4b4)
Tff7b72def Td2a8ffdl_okTb4b4b4(Te6edf3sTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffinfo_dialogTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Te6edf3ok_buttonTff7b72.Td2a8ffbindTb4b4b4(Te6edf3on_releaseTff7b72=Te6edf3dl_okTb4b4b4)
Te6edf3ClockTff7b72.Td2a8ffschedule_intervalTb4b4b4(Tff7b72selfTff7b72.Td2a8ffreload_jobTb4b4b4, T79c0ff2Tb4b4b4)
Tff7b72def Td2a8ffreload_jobTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3dtTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffrootTff7b72.Td2a8ffidsTff7b72.Td2a8ffscreen_managerTff7b72.Td2a8ffcurrent Tff7b72== Ta5d6ff"Ta5d6ffobject_details_screenTa5d6ff"Tb4b4b4:
Te6edf3latest_telemetry Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffpeer_telemetryTb4b4b4(Tff7b72selfTff7b72.Td2a8ffobject_hashTb4b4b4, Te6edf3limitTff7b72=T79c0ff1Tb4b4b4)
Tff7b72if Te6edf3latest_telemetry Tff7b72!= Tff7b72None Tff7b72and Tffa657lenTb4b4b4(Te6edf3latest_telemetryTb4b4b4) Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3telemetry_timestamp Tff7b72= Te6edf3latest_telemetryTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4[T79c0ff0Tb4b4b4]
Tff7b72if Te6edf3telemetry_timestamp Tff7b72> Tff7b72selfTff7b72.Td2a8fflastest_timestampTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffreload_telemetryTb4b4b4(Te6edf3notoastTff7b72=Tff7b72TrueTb4b4b4)
Tff7b72def Td2a8ffclose_actionTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3senderTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8fffrom_telemetryTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8fftelemetry_actionTb4b4b4(Te6edf3directionTff7b72=Ta5d6ff"Ta5d6ffrightTa5d6ff"Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8fffrom_convTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffopen_conversationTb4b4b4(Tff7b72selfTff7b72.Td2a8ffobject_hashTb4b4b4, Te6edf3directionTff7b72=Ta5d6ff"Ta5d6ffrightTa5d6ff"Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffclose_sub_map_actionTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffconfirm_delete_telemetryTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3senderTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffclear_telemetryTb4b4b4(Tff7b72selfTff7b72.Td2a8ffobject_hashTb4b4b4)
Tff7b72def Td2a8ffdelete_telemetry_actionTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3senderTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffdelete_dialog Tff7b72== Tff7b72NoneTb4b4b4:
Te6edf3yes_button Tff7b72= Te6edf3MDRectangleFlatButtonTb4b4b4(Te6edf3textTff7b72=Ta5d6ff"Ta5d6ffYesTa5d6ff"Tb4b4b4,Te6edf3font_sizeTff7b72=Te6edf3dpTb4b4b4(T79c0ff18Tb4b4b4)Tb4b4b4, Te6edf3theme_text_colorTff7b72=Ta5d6ff"Ta5d6ffCustomTa5d6ff"Tb4b4b4, Te6edf3line_colorTff7b72=Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffcolor_rejectTb4b4b4, Te6edf3text_colorTff7b72=Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffcolor_rejectTb4b4b4)
Te6edf3no_button Tff7b72= Te6edf3MDRectangleFlatButtonTb4b4b4(Te6edf3textTff7b72=Ta5d6ff"Ta5d6ffNoTa5d6ff"Tb4b4b4,Te6edf3font_sizeTff7b72=Te6edf3dpTb4b4b4(T79c0ff18Tb4b4b4)Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffdelete_dialog Tff7b72= Te6edf3MDDialogTb4b4b4(
Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffClear telemetry?Ta5d6ff"Tb4b4b4,
Te6edf3textTff7b72=Ta5d6ff"Ta5d6ffThis will permanently delete all collected telemetry for this object.Ta5d6ff"Tb4b4b4,
Te6edf3buttonsTff7b72=Tb4b4b4[ Te6edf3yes_buttonTb4b4b4, Te6edf3no_button Tb4b4b4]Tb4b4b4,
Tb4b4b4)
Tff7b72def Td2a8ffdl_yesTb4b4b4(Te6edf3sTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelete_dialogTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffconfirm_delete_telemetryTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffcbTb4b4b4(Te6edf3dtTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffreload_telemetryTb4b4b4(Te6edf3notoastTff7b72=Tff7b72TrueTb4b4b4)
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Te6edf3cbTb4b4b4, T79c0ff0.2Tb4b4b4)
Tff7b72def Td2a8ffdl_noTb4b4b4(Te6edf3sTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelete_dialogTff7b72.Td2a8ffdismissTb4b4b4(Tb4b4b4)
Te6edf3yes_buttonTff7b72.Td2a8ffbindTb4b4b4(Te6edf3on_releaseTff7b72=Te6edf3dl_yesTb4b4b4)
Te6edf3no_buttonTff7b72.Td2a8ffbindTb4b4b4(Te6edf3on_releaseTff7b72=Te6edf3dl_noTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffdelete_dialogTff7b72.Td2a8ffopenTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffreload_telemetryTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3senderTff7b72=Tff7b72NoneTb4b4b4, Te6edf3notoastTff7b72=Tff7b72FalseTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffobject_hash Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffset_sourceTb4b4b4(Tff7b72selfTff7b72.Td2a8ffobject_hashTb4b4b4, Te6edf3from_convTff7b72=Tff7b72selfTff7b72.Td2a8fffrom_convTb4b4b4, Te6edf3from_telemetryTff7b72=Tff7b72selfTff7b72.Td2a8fffrom_telemetryTb4b4b4)
Tff7b72if Tff7b72not Te6edf3notoastTb4b4b4:
Te6edf3toastTb4b4b4(Ta5d6ff"Ta5d6ffReloaded telemetry for objectTa5d6ff"Tb4b4b4)
Tff7b72def Td2a8ffset_sourceTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3source_destTb4b4b4, Te6edf3from_convTff7b72=Tff7b72FalseTb4b4b4, Te6edf3from_telemetryTff7b72=Tff7b72FalseTb4b4b4, Te6edf3prefetchedTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72tryTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffobject_hash Tff7b72= Te6edf3source_dest
Te6edf3own_address Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8fflxmf_destinationTff7b72.Td2a8ffhash
Te6edf3telemetry_allowed Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffshould_send_telemetryTb4b4b4(Te6edf3source_destTb4b4b4)
Tff7b72if Te6edf3source_dest Tff7b72== Te6edf3own_addressTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffviewing_self Tff7b72= Tff7b72True
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffviewing_self Tff7b72= Tff7b72False
Tff7b72if Te6edf3from_telemetryTb4b4b4:
Tff7b72selfTff7b72.Td2a8fffrom_telemetry Tff7b72= Tff7b72True
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8fffrom_telemetry Tff7b72= Tff7b72False
Tff7b72if Te6edf3from_convTb4b4b4:
Tff7b72selfTff7b72.Td2a8fffrom_conv Tff7b72= Tff7b72True
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8fffrom_conv Tff7b72= Tff7b72False
Tff7b72selfTff7b72.Td2a8ffcoords Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8fftelemetry_listTff7b72.Td2a8ffdata Tff7b72= Tb4b4b4[Tb4b4b4]
Te6edf3pds Tff7b72= Te6edf3multilingual_markupTb4b4b4(Te6edf3escape_markupTb4b4b4(Tffa657strTb4b4b4(Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffpeer_display_nameTb4b4b4(Te6edf3source_destTb4b4b4)Tb4b4b4)Tb4b4b4)Tff7b72.Td2a8ffencodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)Tb4b4b4)Tff7b72.Td2a8ffdecodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)
Te6edf3appearance Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffpeer_appearanceTb4b4b4(Te6edf3source_destTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffname_labelTff7b72.Td2a8fftext Tff7b72= Te6edf3pds
Tff7b72if Te6edf3source_dest Tff7b72== Te6edf3own_addressTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffname_labelTff7b72.Td2a8fftext Tff7b72= Te6edf3pdsTff7b72+Ta5d6ff"Ta5d6ff (this device)Ta5d6ff"
Tff7b72elif Te6edf3source_dest Tff7b72== Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffconfigTb4b4b4[Ta5d6ff"Ta5d6fftelemetry_collectorTa5d6ff"Tb4b4b4]Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffname_labelTff7b72.Td2a8fftext Tff7b72= Te6edf3pdsTff7b72+Ta5d6ff"Ta5d6ff (collector)Ta5d6ff"
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffcoordinates_buttonTff7b72.Td2a8ffdisabled Tff7b72= Tff7b72True
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffobject_appearanceTff7b72.Td2a8fficon Tff7b72= Te6edf3appearanceTb4b4b4[T79c0ff0Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffobject_appearanceTff7b72.Td2a8fficon_color Tff7b72= Te6edf3appearanceTb4b4b4[T79c0ff1Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffobject_appearanceTff7b72.Td2a8ffmd_bg_color Tff7b72= Te6edf3appearanceTb4b4b4[T79c0ff2Tb4b4b4]
Tff7b72def Td2a8ffdjobTb4b4b4(Te6edf3dtTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffviewing_selfTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffrequest_buttonTff7b72.Td2a8ffdisabled Tff7b72= Tff7b72True
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffsend_buttonTff7b72.Td2a8ffdisabled Tff7b72= Tff7b72True
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffrequest_buttonTff7b72.Td2a8ffdisabled Tff7b72= Tff7b72False
Tff7b72if Te6edf3telemetry_allowedTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffsend_buttonTff7b72.Td2a8ffdisabled Tff7b72= Tff7b72False
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffsend_buttonTff7b72.Td2a8ffdisabled Tff7b72= Tff7b72True
Tff7b72if Te6edf3prefetched Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3latest_telemetry Tff7b72= Te6edf3prefetched
Tff7b72elseTb4b4b4:
Te6edf3latest_telemetry Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffpeer_telemetryTb4b4b4(Te6edf3source_destTb4b4b4, Te6edf3limitTff7b72=T79c0ff1Tb4b4b4)
Tff7b72if Te6edf3latest_telemetry Tff7b72!= Tff7b72None Tff7b72and Tffa657lenTb4b4b4(Te6edf3latest_telemetryTb4b4b4) Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3telemetry_timestamp Tff7b72= Te6edf3latest_telemetryTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4[T79c0ff0Tb4b4b4]
Tff7b72selfTff7b72.Td2a8fflastest_timestamp Tff7b72= Te6edf3telemetry_timestamp
Te6edf3telemeter Tff7b72= Te6edf3TelemeterTff7b72.Td2a8fffrom_packedTb4b4b4(Te6edf3latest_telemetryTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffraw_telemetry Tff7b72= Te6edf3telemeterTff7b72.Td2a8ffread_allTb4b4b4(Tb4b4b4)
Te6edf3relative_to Tff7b72= Tff7b72None
Tff7b72if Te6edf3source_dest Tff7b72!= Te6edf3own_addressTb4b4b4:
Te6edf3relative_to Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8fftelemeter
Te6edf3rendered_telemetry Tff7b72= Te6edf3telemeterTff7b72.Td2a8ffrenderTb4b4b4(Te6edf3relative_toTff7b72=Te6edf3relative_toTb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6fflocationTa5d6ff" Tff7b72in Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4:
Tff7b72def Td2a8ffjobTb4b4b4(Te6edf3dtTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffcoordinates_buttonTff7b72.Td2a8ffdisabled Tff7b72= Tff7b72False
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Te6edf3jobTb4b4b4, T79c0ff0.01Tb4b4b4)
Tff7b72selfTff7b72.Td2a8fftelemetry_listTff7b72.Td2a8ffupdate_sourceTb4b4b4(Te6edf3rendered_telemetryTb4b4b4)
Tff7b72def Td2a8ffjobTb4b4b4(Te6edf3dtTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8fftelemetry_buttonTff7b72.Td2a8ffdisabled Tff7b72= Tff7b72False
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Te6edf3jobTb4b4b4, T79c0ff0.01Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72def Td2a8ffjobTb4b4b4(Te6edf3dtTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8fftelemetry_buttonTff7b72.Td2a8ffdisabled Tff7b72= Tff7b72True
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Te6edf3jobTb4b4b4, T79c0ff0.01Tb4b4b4)
Tff7b72selfTff7b72.Td2a8fftelemetry_listTff7b72.Td2a8ffupdate_sourceTb4b4b4(Tff7b72NoneTb4b4b4)
Tff7b72selfTff7b72.Td2a8fftelemetry_listTff7b72.Td2a8ffeffect_cls Tff7b72= Te6edf3ScrollEffect
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Te6edf3djobTb4b4b4, T79c0ff0.1Tb4b4b4)
Tff7b72except Tf85149Exception Tff7b72as Te6edf3eTb4b4b4:
Tff7b72import T7ee787traceback
Te6edf3exception_info Tff7b72= Ta5d6ff"Ta5d6ff"Tff7b72.Td2a8ffjoinTb4b4b4(Te6edf3tracebackTff7b72.Td2a8ffTracebackExceptionTff7b72.Td2a8fffrom_exceptionTb4b4b4(Te6edf3eTb4b4b4)Tff7b72.Td2a8ffformatTb4b4b4(Tb4b4b4)Tb4b4b4)
Te6edf3RNSTff7b72.Td2a8fflogTb4b4b4(Ta5d6fffTa5d6ff"Ta5d6ffAn Tffd700{Tffa657strTb4b4b4(Tffa657typeTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4)Tffd700}Ta5d6ff occurred while updating service telemetry: Tffd700{Tffa657strTb4b4b4(Te6edf3eTb4b4b4)Tffd700}Ta5d6ff"Tb4b4b4, Te6edf3RNSTff7b72.Td2a8ffLOG_ERRORTb4b4b4)
Te6edf3RNSTff7b72.Td2a8fflogTb4b4b4(Te6edf3exception_infoTb4b4b4, Te6edf3RNSTff7b72.Td2a8ffLOG_ERRORTb4b4b4)
Tff7b72def Td2a8ffreloadTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffclear_widgetTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffupdateTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffsend_updateTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffviewing_selfTb4b4b4:
Te6edf3result Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffsend_latest_telemetryTb4b4b4(Te6edf3to_addrTff7b72=Tff7b72selfTff7b72.Td2a8ffobject_hashTb4b4b4)
Tff7b72if Te6edf3result Tff7b72== Ta5d6ff"Ta5d6ffdestination_unknownTa5d6ff"Tb4b4b4:
Te6edf3title_str Tff7b72= Ta5d6ff"Ta5d6ffUnknown DestinationTa5d6ff"
Te6edf3info_str Tff7b72= Ta5d6ff"Ta5d6ffNo keys known for the destination. Connected reticules have been queried for the keys.Ta5d6ff"
Tff7b72elif Te6edf3result Tff7b72== Ta5d6ff"Ta5d6ffin_progressTa5d6ff"Tb4b4b4:
Te6edf3title_str Tff7b72= Ta5d6ff"Ta5d6ffTransfer In ProgressTa5d6ff"
Te6edf3info_str Tff7b72= Ta5d6ff"Ta5d6ffThere is already an outbound telemetry transfer in progress for this peer.Ta5d6ff"
Tff7b72elif Te6edf3result Tff7b72== Ta5d6ff"Ta5d6ffalready_sentTa5d6ff"Tb4b4b4:
Te6edf3title_str Tff7b72= Ta5d6ff"Ta5d6ffAlready DeliveredTa5d6ff"
Te6edf3info_str Tff7b72= Ta5d6ff"Ta5d6ffThe current telemetry data was already sent and delivered to the peer or propagation network.Ta5d6ff"
Tff7b72elif Te6edf3result Tff7b72== Ta5d6ff"Ta5d6ffsentTa5d6ff"Tb4b4b4:
Te6edf3title_str Tff7b72= Ta5d6ff"Ta5d6ffUpdate SentTa5d6ff"
Te6edf3info_str Tff7b72= Ta5d6ff"Ta5d6ffA telemetry update was sent to the peer.Ta5d6ff"
Tff7b72elif Te6edf3result Tff7b72== Ta5d6ff"Ta5d6ffnot_sentTa5d6ff"Tb4b4b4:
Te6edf3title_str Tff7b72= Ta5d6ff"Ta5d6ffNot SentTa5d6ff"
Te6edf3info_str Tff7b72= Ta5d6ff"Ta5d6ffA telemetry update could not be sent.Ta5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3title_str Tff7b72= Ta5d6ff"Ta5d6ffUnknown StatusTa5d6ff"
Te6edf3info_str Tff7b72= Ta5d6ff"Ta5d6ffThe status of the telemetry update is unknown.Ta5d6ff"
Tff7b72selfTff7b72.Td2a8ffinfo_dialogTff7b72.Td2a8fftitle Tff7b72= Te6edf3title_str
Tff7b72selfTff7b72.Td2a8ffinfo_dialogTff7b72.Td2a8fftext Tff7b72= Te6edf3info_str
Tff7b72selfTff7b72.Td2a8ffinfo_dialogTff7b72.Td2a8ffopenTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffrequest_updateTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffviewing_selfTb4b4b4:
Te6edf3result Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffrequest_latest_telemetryTb4b4b4(Te6edf3from_addrTff7b72=Tff7b72selfTff7b72.Td2a8ffobject_hashTb4b4b4)
Tff7b72if Te6edf3result Tff7b72== Ta5d6ff"Ta5d6ffdestination_unknownTa5d6ff"Tb4b4b4:
Te6edf3title_str Tff7b72= Ta5d6ff"Ta5d6ffUnknown DestinationTa5d6ff"
Te6edf3info_str Tff7b72= Ta5d6ff"Ta5d6ffNo keys known for the destination. Connected reticules have been queried for the keys.Ta5d6ff"
Tff7b72elif Te6edf3result Tff7b72== Ta5d6ff"Ta5d6ffin_progressTa5d6ff"Tb4b4b4:
Te6edf3title_str Tff7b72= Ta5d6ff"Ta5d6ffTransfer In ProgressTa5d6ff"
Te6edf3info_str Tff7b72= Ta5d6ff"Ta5d6ffThere is already a telemetry request transfer in progress for this peer.Ta5d6ff"
Tff7b72elif Te6edf3result Tff7b72== Ta5d6ff"Ta5d6ffsentTa5d6ff"Tb4b4b4:
Te6edf3title_str Tff7b72= Ta5d6ff"Ta5d6ffRequest SentTa5d6ff"
Te6edf3info_str Tff7b72= Ta5d6ff"Ta5d6ffA telemetry request was sent to the peer. The peer should send any available telemetry shortly.Ta5d6ff"
Tff7b72elif Te6edf3result Tff7b72== Ta5d6ff"Ta5d6ffnot_sentTa5d6ff"Tb4b4b4:
Te6edf3title_str Tff7b72= Ta5d6ff"Ta5d6ffNot SentTa5d6ff"
Te6edf3info_str Tff7b72= Ta5d6ff"Ta5d6ffA telemetry request could not be sent.Ta5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3title_str Tff7b72= Ta5d6ff"Ta5d6ffUnknown StatusTa5d6ff"
Te6edf3info_str Tff7b72= Ta5d6ff"Ta5d6ffThe status of the telemetry request is unknown.Ta5d6ff"
Tff7b72selfTff7b72.Td2a8ffinfo_dialogTff7b72.Td2a8fftitle Tff7b72= Te6edf3title_str
Tff7b72selfTff7b72.Td2a8ffinfo_dialogTff7b72.Td2a8fftext Tff7b72= Te6edf3info_str
Tff7b72selfTff7b72.Td2a8ffinfo_dialogTff7b72.Td2a8ffopenTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffclear_widgetTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72pass
Tff7b72def Td2a8ffupdateTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3us Tff7b72= Te6edf3timeTff7b72.Td2a8fftimeTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffupdate_widgetTb4b4b4(Tb4b4b4)
Te6edf3RNSTff7b72.Td2a8fflogTb4b4b4(Ta5d6ff"Ta5d6ffUpdated object details in Ta5d6ff"Tff7b72+Te6edf3RNSTff7b72.Td2a8ffprettytimeTb4b4b4(Te6edf3timeTff7b72.Td2a8fftimeTb4b4b4(Tb4b4b4)Tff7b72-Te6edf3usTb4b4b4)Tb4b4b4, Te6edf3RNSTff7b72.Td2a8ffLOG_DEBUGTb4b4b4)
Tff7b72def Td2a8ffupdate_widgetTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffwidget Tff7b72== Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffwidget Tff7b72= Te6edf3MDLabelTb4b4b4(Te6edf3textTff7b72=Te6edf3RNSTff7b72.Td2a8ffprettyhexrepTb4b4b4(Tff7b72selfTff7b72.Td2a8ffobject_hashTb4b4b4)Tb4b4b4)
Tff7b72def Td2a8ffget_widgetTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72return Tff7b72selfTff7b72.Td2a8ffwidget
Tff7b72def Td2a8ffcopy_coordinatesTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3senderTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Te6edf3ClipboardTff7b72.Td2a8ffcopyTb4b4b4(Tffa657strTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcoords Tff7b72or Ta5d6ff"Ta5d6ffNo dataTa5d6ff"Tb4b4b4)Tb4b4b4)
Tff7b72def Td2a8ffcopy_telemetryTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3senderTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Te6edf3ClipboardTff7b72.Td2a8ffcopyTb4b4b4(Tffa657strTb4b4b4(Tff7b72selfTff7b72.Td2a8ffraw_telemetry Tff7b72or Ta5d6ff"Ta5d6ffNo dataTa5d6ff"Tb4b4b4)Tb4b4b4)
Tff7b72class T56d364ODViewTb4b4b4(Te6edf3OneLineIconListItemTb4b4b4)Tb4b4b4:
Te6edf3icon Tff7b72= Te6edf3StringPropertyTb4b4b4(Tb4b4b4)
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ff__init__Tb4b4b4(Tb4b4b4)
Tff7b72class T56d364RVDetailsTb4b4b4(Te6edf3MDRecycleViewTb4b4b4)Tb4b4b4:
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ff__init__Tb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffdata Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72def Td2a8ffupdate_sourceTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3rendered_telemetryTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72tryTb4b4b4:
Tff7b72if Tff7b72not Te6edf3rendered_telemetryTb4b4b4:
Te6edf3rendered_telemetry Tff7b72= Tb4b4b4[Tb4b4b4]
Te6edf3sort Tff7b72= Tb4b4b4{
Ta5d6ff"Ta5d6ffPhysical LinkTa5d6ff"Tb4b4b4: T79c0ff10Tb4b4b4,
Ta5d6ff"Ta5d6ffLocationTa5d6ff"Tb4b4b4: T79c0ff20Tb4b4b4,
Ta5d6ff"Ta5d6ffAmbient LightTa5d6ff"Tb4b4b4: T79c0ff30Tb4b4b4,
Ta5d6ff"Ta5d6ffAmbient TemperatureTa5d6ff"Tb4b4b4: T79c0ff40Tb4b4b4,
Ta5d6ff"Ta5d6ffRelative HumidityTa5d6ff"Tb4b4b4: T79c0ff50Tb4b4b4,
Ta5d6ff"Ta5d6ffAmbient PressureTa5d6ff"Tb4b4b4: T79c0ff60Tb4b4b4,
Ta5d6ff"Ta5d6ffBatteryTa5d6ff"Tb4b4b4: T79c0ff70Tb4b4b4,
Ta5d6ff"Ta5d6ffTimestampTa5d6ff"Tb4b4b4: T79c0ff80Tb4b4b4,
Ta5d6ff"Ta5d6ffReceivedTa5d6ff"Tb4b4b4: T79c0ff90Tb4b4b4,
Ta5d6ff"Ta5d6ffInformationTa5d6ff"Tb4b4b4: T79c0ff5Tb4b4b4,
Tb4b4b4}
Tff7b72selfTff7b72.Td2a8ffentries Tff7b72= Tb4b4b4[Tb4b4b4]
Te6edf3rendered_telemetryTff7b72.Td2a8ffsortTb4b4b4(Te6edf3keyTff7b72=Tff7b72lambda Te6edf3sTb4b4b4: Te6edf3sortTb4b4b4[Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffnameTa5d6ff"Tb4b4b4]Tb4b4b4] Tff7b72if Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffnameTa5d6ff"Tb4b4b4] Tff7b72in Te6edf3sort Tff7b72else T79c0ff1000Tb4b4b4)
Tff7b72for Te6edf3s Tff7b72in Te6edf3rendered_telemetryTb4b4b4:
Te6edf3extra_entries Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72def Td2a8ffpass_jobTb4b4b4(Te6edf3senderTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72pass
Te6edf3release_function Tff7b72= Te6edf3pass_job
Te6edf3formatted_values Tff7b72= Tff7b72None
Te6edf3name Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffnameTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffTimestampTa5d6ff"Tb4b4b4:
Te6edf3ts Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffUTCTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3ts Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3ts_str Tff7b72= Te6edf3datetimeTff7b72.Td2a8fffromtimestampTb4b4b4(Te6edf3tsTb4b4b4)Tff7b72.Td2a8ffstrftimeTb4b4b4(Ta5d6ff"Ta5d6ff%Ta5d6ffY-Ta5d6ff%Ta5d6ffm-Tffd700%dTa5d6ff Ta5d6ff%Ta5d6ffH:Ta5d6ff%Ta5d6ffM:Ta5d6ff%Ta5d6ffSTa5d6ff"Tb4b4b4)
Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffRecorded [b]Tffd700{Te6edf3RNSTff7b72.Td2a8ffprettytimeTb4b4b4(Te6edf3timeTff7b72.Td2a8fftimeTb4b4b4(Tb4b4b4)Tff7b72-Te6edf3tsTb4b4b4, Te6edf3compactTff7b72=Tff7b72TrueTb4b4b4)Tffd700}Ta5d6ff ago[/b] (Tffd700{Te6edf3ts_strTffd700}Ta5d6ff)Ta5d6ff"
Tff7b72def Td2a8ffcopy_infoTb4b4b4(Te6edf3eTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Te6edf3ClipboardTff7b72.Td2a8ffcopyTb4b4b4(Te6edf3ts_strTb4b4b4)
Te6edf3toastTb4b4b4(Ta5d6ff"Ta5d6ffCopied to clipboardTa5d6ff"Tb4b4b4)
Te6edf3release_function Tff7b72= Te6edf3copy_info
Tff7b72elif Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffInformationTa5d6ff"Tb4b4b4:
Te6edf3info Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffcontentsTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3info Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3istr Tff7b72= Tffa657strTb4b4b4(Te6edf3infoTb4b4b4)
Tff7b72def Td2a8ffcopy_infoTb4b4b4(Te6edf3eTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Te6edf3ClipboardTff7b72.Td2a8ffcopyTb4b4b4(Te6edf3istrTb4b4b4)
Te6edf3toastTb4b4b4(Ta5d6ff"Ta5d6ffCopied to clipboardTa5d6ff"Tb4b4b4)
Te6edf3release_function Tff7b72= Te6edf3copy_info
Te6edf3external_text Tff7b72= Te6edf3multilingual_markupTb4b4b4(Te6edf3escape_markupTb4b4b4(Te6edf3istrTb4b4b4)Tff7b72.Td2a8ffencodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)Tb4b4b4)Tff7b72.Td2a8ffdecodeTb4b4b4(Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4)
Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff[b]Information[/b]: Tffd700{Te6edf3external_textTffd700}Ta5d6ff"
Tff7b72elif Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffReceivedTa5d6ff"Tb4b4b4:
Te6edf3formatted_values Tff7b72= Ta5d6ff"Ta5d6ff"
Te6edf3by Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffbyTa5d6ff"Tb4b4b4]Tb4b4b4;
Te6edf3via Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffviaTa5d6ff"Tb4b4b4]Tb4b4b4;
Tff7b72if Te6edf3by Tff7b72== Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8fflxmf_destinationTff7b72.Td2a8ffhashTb4b4b4:
Tff7b72if Te6edf3via Tff7b72== Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffobject_hashTb4b4b4:
Te6edf3formatted_values Tff7b72= Ta5d6ff"Ta5d6ffCollected directly by [b]this device[/b], directly [b]from emitter[/b]Ta5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3via_str Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffpeer_display_nameTb4b4b4(Te6edf3viaTb4b4b4)
Tff7b72if Te6edf3via_str Tff7b72== Tff7b72NoneTb4b4b4:
Te6edf3via_str Tff7b72= Ta5d6ff"Ta5d6ffan [b]unknown peer[/b]Ta5d6ff"
Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffCollected directly by [b]this device[/b], via Tffd700{Te6edf3via_strTffd700}Ta5d6ff"
Tff7b72elseTb4b4b4:
Tff7b72if Te6edf3via Tff7b72!= Tff7b72None Tff7b72and Te6edf3via Tff7b72== Te6edf3byTb4b4b4:
Te6edf3vstr Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffpeer_display_nameTb4b4b4(Te6edf3viaTb4b4b4)
Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffReceived from, and collected by [b]Tffd700{Te6edf3vstrTffd700}Ta5d6ff[/b]Ta5d6ff"
Tff7b72elseTb4b4b4:
Tff7b72if Te6edf3via Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3vstr Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffpeer_display_nameTb4b4b4(Te6edf3viaTb4b4b4)
Te6edf3via_str Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffReceived from [b]Tffd700{Te6edf3vstrTffd700}Ta5d6ff[/b]Ta5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3via_str Tff7b72= Ta5d6ff"Ta5d6ffReceived from an [b]unknown peer[/b]Ta5d6ff"
Tff7b72if Te6edf3by Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3dstr Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffpeer_display_nameTb4b4b4(Te6edf3byTb4b4b4)
Te6edf3by_str Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff, collected by [b]Tffd700{Te6edf3dstrTffd700}Ta5d6ff[/b]Ta5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3by_str Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff, collected by an [b]unknown peer[/b]Ta5d6ff"
Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Tffd700{Te6edf3via_strTffd700}Tffd700{Te6edf3by_strTffd700}Ta5d6ff"
Tff7b72if Te6edf3formatted_values Tff7b72== Ta5d6ff"Ta5d6ff"Tb4b4b4:
Te6edf3formatted_values Tff7b72= Tff7b72None
Tff7b72if Tff7b72not Te6edf3by Tff7b72== Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8fflxmf_destinationTff7b72.Td2a8ffhash Tff7b72and Tff7b72not Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffis_trustedTb4b4b4(Te6edf3byTb4b4b4)Tb4b4b4:
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffalertTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffCollected by a [b]non-trusted[/b] peerTa5d6ff"Tb4b4b4}Tb4b4b4)
Tff7b72elif Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffBatteryTa5d6ff"Tb4b4b4:
Te6edf3p Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffpercentTa5d6ff"Tb4b4b4]
Te6edf3cs Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ff_metaTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3cs Tff7b72!= Tff7b72NoneTb4b4b4: Te6edf3cs_str Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff (Tffd700{Te6edf3csTffd700}Ta5d6ff)Ta5d6ff"
Tff7b72if Te6edf3p Tff7b72!= Tff7b72NoneTb4b4b4: Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Tffd700{Te6edf3nameTffd700}Ta5d6ff [b]Tffd700{Te6edf3pTffd700}Ta5d6ff%[/b]Ta5d6ff"Tff7b72+Te6edf3cs_str
Tff7b72elif Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffAmbient PressureTa5d6ff"Tb4b4b4:
Te6edf3p Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffmbarTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3p Tff7b72!= Tff7b72NoneTb4b4b4: Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Tffd700{Te6edf3nameTffd700}Ta5d6ff [b]Tffd700{Te6edf3pTffd700}Ta5d6ff mbar[/b]Ta5d6ff"
Te6edf3dt Tff7b72= Ta5d6ff"Ta5d6ffmbarTa5d6ff"
Tff7b72if Ta5d6ff"Ta5d6ffdeltasTa5d6ff" Tff7b72in Te6edf3s Tff7b72and Te6edf3dt Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4] Tff7b72and Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4]Tb4b4b4[Te6edf3dtTb4b4b4] Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3d Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4]Tb4b4b4[Te6edf3dtTb4b4b4]
Te6edf3formatted_values Tff7b72+Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff (Δ = Tffd700{Te6edf3dTffd700}Ta5d6ff mbar)Ta5d6ff"
Tff7b72elif Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffAmbient TemperatureTa5d6ff"Tb4b4b4:
Te6edf3c Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffcTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3c Tff7b72!= Tff7b72NoneTb4b4b4: Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Tffd700{Te6edf3nameTffd700}Ta5d6ff [b]Tffd700{Te6edf3cTffd700}Ta5d6ff° C[/b]Ta5d6ff"
Te6edf3dt Tff7b72= Ta5d6ff"Ta5d6ffcTa5d6ff"
Tff7b72if Ta5d6ff"Ta5d6ffdeltasTa5d6ff" Tff7b72in Te6edf3s Tff7b72and Te6edf3dt Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4] Tff7b72and Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4]Tb4b4b4[Te6edf3dtTb4b4b4] Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3d Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4]Tb4b4b4[Te6edf3dtTb4b4b4]
Te6edf3formatted_values Tff7b72+Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff (Δ = Tffd700{Te6edf3dTffd700}Ta5d6ff° C)Ta5d6ff"
Tff7b72elif Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffRelative HumidityTa5d6ff"Tb4b4b4:
Te6edf3r Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffpercentTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3r Tff7b72!= Tff7b72NoneTb4b4b4: Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Tffd700{Te6edf3nameTffd700}Ta5d6ff [b]Tffd700{Te6edf3rTffd700}Ta5d6ff%[/b]Ta5d6ff"
Te6edf3dt Tff7b72= Ta5d6ff"Ta5d6ffpercentTa5d6ff"
Tff7b72if Ta5d6ff"Ta5d6ffdeltasTa5d6ff" Tff7b72in Te6edf3s Tff7b72and Te6edf3dt Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4] Tff7b72and Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4]Tb4b4b4[Te6edf3dtTb4b4b4] Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3d Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4]Tb4b4b4[Te6edf3dtTb4b4b4]
Te6edf3formatted_values Tff7b72+Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff (Δ = Tffd700{Te6edf3dTffd700}Ta5d6ff%)Ta5d6ff"
Tff7b72elif Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffPhysical LinkTa5d6ff"Tb4b4b4:
Te6edf3rssi Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffrssiTa5d6ff"Tb4b4b4]Tb4b4b4; Te6edf3rssi_str Tff7b72= Tff7b72None
Te6edf3snr Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffsnrTa5d6ff"Tb4b4b4]Tb4b4b4; Te6edf3snr_str Tff7b72= Tff7b72None
Te6edf3q Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffqTa5d6ff"Tb4b4b4]Tb4b4b4; Te6edf3q_str Tff7b72= Tff7b72None
Tff7b72if Te6edf3q Tff7b72!= Tff7b72NoneTb4b4b4: Te6edf3q_str Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffLink Quality [b]Tffd700{Te6edf3qTffd700}Ta5d6ff%[/b]Ta5d6ff"
Tff7b72if Te6edf3rssi Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3rssi_str Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffRSSI [b]Tffd700{Te6edf3rssiTffd700}Ta5d6ff dBm[/b]Ta5d6ff"
Tff7b72if Te6edf3q Tff7b72!= Tff7b72NoneTb4b4b4: Te6edf3rssi_str Tff7b72= Ta5d6ff"Ta5d6ff, Ta5d6ff"Tff7b72+Te6edf3rssi_str
Tff7b72if Te6edf3snr Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3snr_str Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffSNR [b]Tffd700{Te6edf3snrTffd700}Ta5d6ff dB[/b]Ta5d6ff"
Tff7b72if Te6edf3q Tff7b72!= Tff7b72None Tff7b72or Te6edf3rssi Tff7b72!= Tff7b72NoneTb4b4b4: Te6edf3snr_str Tff7b72= Ta5d6ff"Ta5d6ff, Ta5d6ff"Tff7b72+Te6edf3snr_str
Tff7b72if Te6edf3q_str Tff7b72or Te6edf3rssi_str Tff7b72or Te6edf3snr_strTb4b4b4:
Te6edf3formatted_values Tff7b72= Te6edf3q_strTff7b72+Te6edf3rssi_strTff7b72+Te6edf3snr_str
Tff7b72elif Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffLocationTa5d6ff"Tb4b4b4:
Te6edf3lat Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6fflatitudeTa5d6ff"Tb4b4b4]
Te6edf3lon Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6fflongitudeTa5d6ff"Tb4b4b4]
Te6edf3alt Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffaltitudeTa5d6ff"Tb4b4b4]
Te6edf3speed Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffspeedTa5d6ff"Tb4b4b4]
Te6edf3heading Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffheadingTa5d6ff"Tb4b4b4]
Te6edf3accuracy Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffaccuracyTa5d6ff"Tb4b4b4]
Te6edf3updated Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffupdatedTa5d6ff"Tb4b4b4]
Te6edf3updated_str Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff, logged [b]Tffd700{Te6edf3RNSTff7b72.Td2a8ffprettytimeTb4b4b4(Te6edf3timeTff7b72.Td2a8fftimeTb4b4b4(Tb4b4b4)Tff7b72-Te6edf3updatedTb4b4b4, Te6edf3compactTff7b72=Tff7b72TrueTb4b4b4)Tffd700}Ta5d6ff ago[/b]Ta5d6ff"
Te6edf3coords Tff7b72= Ta5d6fffTa5d6ff"Tffd700{Te6edf3latTffd700}Ta5d6ff, Tffd700{Te6edf3lonTffd700}Ta5d6ff"
Te6edf3fcoords Tff7b72= Ta5d6fffTa5d6ff"Tffd700{Tffa657roundTb4b4b4(Te6edf3latTb4b4b4,T79c0ff4Tb4b4b4)Tffd700}Ta5d6ff, Tffd700{Tffa657roundTb4b4b4(Te6edf3lonTb4b4b4,T79c0ff4Tb4b4b4)Tffd700}Ta5d6ff"
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffcoords Tff7b72= Te6edf3coords
Tff7b72if Te6edf3alt Tff7b72== T79c0ff0Tb4b4b4:
Te6edf3alt_str Tff7b72= Ta5d6ff"Ta5d6ff0Ta5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3alt_str Tff7b72= Te6edf3RNSTff7b72.Td2a8ffprettydistanceTb4b4b4(Te6edf3altTb4b4b4)
Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffCoordinates [b]Tffd700{Te6edf3fcoordsTffd700}Ta5d6ff[/b], altitude [b]Tffd700{Te6edf3alt_strTffd700}Ta5d6ff[/b]Ta5d6ff"
Tff7b72if Te6edf3speed Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72if Te6edf3speed Tff7b72> T79c0ff0.000001Tb4b4b4:
Te6edf3speed_formatted_values Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffSpeed [b]Tffd700{Te6edf3speedTffd700}Ta5d6ff Km/h[/b], heading [b]Tffd700{Te6edf3headingTffd700}Ta5d6ff°[/b]Ta5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3speed_formatted_values Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffSpeed [b]0 Km/h[/b]Ta5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3speed_formatted_values Tff7b72= Tff7b72None
Te6edf3extra_formatted_values Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffUncertainty [b]Tffd700{Te6edf3accuracyTffd700}Ta5d6ff meters[/b]Ta5d6ff"Tff7b72+Te6edf3updated_str
Te6edf3data Tff7b72= Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4]Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6fffTa5d6ff"Tffd700{Te6edf3formatted_valuesTffd700}Ta5d6ff"Tb4b4b4}
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffmap-marker-questionTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3extra_formatted_valuesTb4b4b4}Tb4b4b4)
Tff7b72if Te6edf3speed_formatted_values Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffspeedometerTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3speed_formatted_valuesTb4b4b4}Tb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffdistanceTa5d6ff" Tff7b72in Te6edf3sTb4b4b4:
Tff7b72if Ta5d6ff"Ta5d6fforthodromicTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdistanceTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3od Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdistanceTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6fforthodromicTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3od Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3od_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffGeodesic distance [b]Tffd700{Te6edf3RNSTff7b72.Td2a8ffprettydistanceTb4b4b4(Te6edf3odTb4b4b4)Tffd700}Ta5d6ff[/b]Ta5d6ff"
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffearthTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3od_textTb4b4b4}Tb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffeuclidianTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdistanceTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3ed Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdistanceTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffeuclidianTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3ed Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3ed_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffEuclidian distance [b]Tffd700{Te6edf3RNSTff7b72.Td2a8ffprettydistanceTb4b4b4(Te6edf3edTb4b4b4)Tffd700}Ta5d6ff[/b]Ta5d6ff"
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffaxis-arrowTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3ed_textTb4b4b4}Tb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffverticalTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdistanceTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3vd Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdistanceTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffverticalTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3vd Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72if Te6edf3vd Tff7b72< T79c0ff0Tb4b4b4:
Te6edf3relstr Tff7b72= Ta5d6ff"Ta5d6fflowerTa5d6ff"
Te6edf3vd Tff7b72= Tffa657absTb4b4b4(Te6edf3vdTb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3relstr Tff7b72= Ta5d6ff"Ta5d6ffgreaterTa5d6ff"
Te6edf3vd_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffAltitude is [b]Tffd700{Te6edf3RNSTff7b72.Td2a8ffprettydistanceTb4b4b4(Te6edf3vdTb4b4b4)Tffd700}Ta5d6ff[/b] Tffd700{Te6edf3relstrTffd700}Ta5d6ff than this deviceTa5d6ff"
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffaltimeterTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3vd_textTb4b4b4}Tb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffangle_to_horizonTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3oath Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffangle_to_horizonTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3oath Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffviewing_selfTb4b4b4:
Te6edf3oath_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffLocal horizon is at [b]Tffd700{Tffa657roundTb4b4b4(Te6edf3oathTb4b4b4,T79c0ff3Tb4b4b4)Tffd700}Ta5d6ff°[/b]Ta5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3oath_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffObjectTa5d6ff'Ta5d6ffs horizon is at [b]Tffd700{Tffa657roundTb4b4b4(Te6edf3oathTb4b4b4,T79c0ff3Tb4b4b4)Tffd700}Ta5d6ff°[/b]Ta5d6ff"
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffarrow-split-horizontalTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3oath_textTb4b4b4}Tb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffviewing_self Tff7b72and Ta5d6ff"Ta5d6ffradio_horizonTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3orh Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffradio_horizonTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3orh Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3range_text Tff7b72= Te6edf3RNSTff7b72.Td2a8ffprettydistanceTb4b4b4(Te6edf3orhTb4b4b4)
Te6edf3rh_formatted_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffRadio horizon of [b]Tffd700{Te6edf3range_textTffd700}Ta5d6ff[/b]Ta5d6ff"
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffradio-towerTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3rh_formatted_textTb4b4b4}Tb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffazaltTa5d6ff" Tff7b72in Te6edf3s Tff7b72and Ta5d6ff"Ta5d6fflocal_angle_to_horizonTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffazaltTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3lath Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffazaltTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6fflocal_angle_to_horizonTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3lath Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3lath_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffLocal horizon is at [b]Tffd700{Tffa657roundTb4b4b4(Te6edf3lathTb4b4b4,T79c0ff3Tb4b4b4)Tffd700}Ta5d6ff°[/b]Ta5d6ff"
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffalign-vertical-distributeTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3lath_textTb4b4b4}Tb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffazaltTa5d6ff" Tff7b72in Te6edf3sTb4b4b4:
Te6edf3azalt_formatted_text Tff7b72= Ta5d6ff"Ta5d6ff"
Tff7b72if Ta5d6ff"Ta5d6ffazimuthTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffazaltTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3az Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffazaltTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffazimuthTa5d6ff"Tb4b4b4]
Te6edf3az_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffAzimuth [b]Tffd700{Tffa657roundTb4b4b4(Te6edf3azTb4b4b4,T79c0ff3Tb4b4b4)Tffd700}Ta5d6ff°[/b]Ta5d6ff"
Te6edf3azalt_formatted_text Tff7b72+Tff7b72= Te6edf3az_text
Tff7b72if Ta5d6ff"Ta5d6ffaltitudeTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffazaltTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3al Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffazaltTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffaltitudeTa5d6ff"Tb4b4b4]
Te6edf3al_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffaltitude [b]Tffd700{Tffa657roundTb4b4b4(Te6edf3alTb4b4b4,T79c0ff3Tb4b4b4)Tffd700}Ta5d6ff°[/b]Ta5d6ff"
Tff7b72if Tffa657lenTb4b4b4(Te6edf3azalt_formatted_textTb4b4b4) Tff7b72!= T79c0ff0Tb4b4b4: Te6edf3azalt_formatted_text Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ff, Ta5d6ff"
Te6edf3azalt_formatted_text Tff7b72+Tff7b72= Te6edf3al_text
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffcompass-roseTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3azalt_formatted_textTb4b4b4}Tb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffabove_horizonTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffazaltTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3astr Tff7b72= Ta5d6ff"Ta5d6ffaboveTa5d6ff" Tff7b72if Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffazaltTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffabove_horizonTa5d6ff"Tb4b4b4] Tff7b72== Tff7b72True Tff7b72else Ta5d6ff"Ta5d6ffbelowTa5d6ff"
Te6edf3dstr Tff7b72= Tffa657strTb4b4b4(Tffa657roundTb4b4b4(Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffazaltTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffaltitude_deltaTa5d6ff"Tb4b4b4]Tb4b4b4, T79c0ff3Tb4b4b4)Tb4b4b4)
Te6edf3ah_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffObject is [b]Tffd700{Te6edf3astrTffd700}Ta5d6ff[/b] the horizon (Δ = Tffd700{Te6edf3dstrTffd700}Ta5d6ff°)Ta5d6ff"
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffangle-acuteTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3ah_textTb4b4b4}Tb4b4b4)
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffviewing_self Tff7b72and Ta5d6ff"Ta5d6ffradio_horizonTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3orh Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffradio_horizonTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3orh Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3range_text Tff7b72= Te6edf3RNSTff7b72.Td2a8ffprettydistanceTb4b4b4(Te6edf3orhTb4b4b4)
Te6edf3rh_formatted_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffObjectTa5d6ff'Ta5d6ffs radio horizon is [b]Tffd700{Te6edf3range_textTffd700}Ta5d6ff[/b]Ta5d6ff"
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffradio-towerTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3rh_formatted_textTb4b4b4}Tb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffradio_horizonTa5d6ff" Tff7b72in Te6edf3sTb4b4b4:
Te6edf3rh_icon Tff7b72= Ta5d6ff"Ta5d6ffcircle-outlineTa5d6ff"
Te6edf3crange_text Tff7b72= Te6edf3RNSTff7b72.Td2a8ffprettydistanceTb4b4b4(Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffradio_horizonTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffcombined_rangeTa5d6ff"Tb4b4b4]Tb4b4b4)
Tff7b72if Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffradio_horizonTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffwithin_rangeTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3rh_formatted_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff[b]Within[/b] shared radio horizon of [b]Tffd700{Te6edf3crange_textTffd700}Ta5d6ff[/b]Ta5d6ff"
Te6edf3rh_icon Tff7b72= Ta5d6ff"Ta5d6ffset-noneTa5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3rh_formatted_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff[b]Outside[/b] shared radio horizon of [b]Tffd700{Te6edf3crange_textTffd700}Ta5d6ff[/b]Ta5d6ff"
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Te6edf3rh_iconTb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3rh_formatted_textTb4b4b4}Tb4b4b4)
Tff7b72def Td2a8ffselectTb4b4b4(Te6edf3eTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Te6edf3geo_uri Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffgeo:Tffd700{Te6edf3latTffd700}Ta5d6ff,Tffd700{Te6edf3lonTffd700}Ta5d6ff"
Tff7b72def Td2a8ffljTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3webbrowserTff7b72.Td2a8ffopenTb4b4b4(Te6edf3geo_uriTb4b4b4)
Te6edf3threadingTff7b72.Td2a8ffThreadTb4b4b4(Te6edf3targetTff7b72=Te6edf3ljTb4b4b4, Te6edf3daemonTff7b72=Tff7b72TrueTb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(Tb4b4b4)
Te6edf3release_function Tff7b72= Te6edf3select
Tff7b72elseTb4b4b4:
Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Tffd700{Te6edf3nameTffd700}Ta5d6ff"
Tff7b72for Te6edf3vn Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3v Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Te6edf3vnTb4b4b4]
Te6edf3formatted_values Tff7b72+Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff [b]Tffd700{Te6edf3vTffd700}Ta5d6ff Tffd700{Te6edf3vnTffd700}Ta5d6ff[/b]Ta5d6ff"
Te6edf3dt Tff7b72= Te6edf3vn
Tff7b72if Ta5d6ff"Ta5d6ffdeltasTa5d6ff" Tff7b72in Te6edf3s Tff7b72and Te6edf3dt Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4] Tff7b72and Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4]Tb4b4b4[Te6edf3dtTb4b4b4] Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3d Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4]Tb4b4b4[Te6edf3dtTb4b4b4]
Te6edf3formatted_values Tff7b72+Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff (Δ = Tffd700{Te6edf3dTffd700}Ta5d6ff Tffd700{Te6edf3vnTffd700}Ta5d6ff)Ta5d6ff"
Te6edf3data Tff7b72= Tff7b72None
Tff7b72if Te6edf3formatted_values Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72if Te6edf3release_functionTb4b4b4:
Te6edf3data Tff7b72= Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4]Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6fffTa5d6ff"Tffd700{Te6edf3formatted_valuesTffd700}Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3release_functionTb4b4b4}
Tff7b72elseTb4b4b4:
Te6edf3data Tff7b72= Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4]Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6fffTa5d6ff"Tffd700{Te6edf3formatted_valuesTffd700}Ta5d6ff"Tb4b4b4}
Tff7b72if Te6edf3data Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffentriesTff7b72.Td2a8ffappendTb4b4b4(Te6edf3dataTb4b4b4)
Tff7b72for Te6edf3extra Tff7b72in Te6edf3extra_entriesTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffentriesTff7b72.Td2a8ffappendTb4b4b4(Te6edf3extraTb4b4b4)
Tff7b72if Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffentriesTb4b4b4) Tff7b72== T79c0ff0Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffentriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fftimeline-question-outlineTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6fffTa5d6ff"Ta5d6ffNo telemetry available for this deviceTa5d6ff"Tb4b4b4}Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffdata Tff7b72= Tff7b72selfTff7b72.Td2a8ffentries
Tff7b72except Tf85149Exception Tff7b72as Te6edf3eTb4b4b4:
Tff7b72import T7ee787traceback
Te6edf3exception_info Tff7b72= Ta5d6ff"Ta5d6ff"Tff7b72.Td2a8ffjoinTb4b4b4(Te6edf3tracebackTff7b72.Td2a8ffTracebackExceptionTff7b72.Td2a8fffrom_exceptionTb4b4b4(Te6edf3eTb4b4b4)Tff7b72.Td2a8ffformatTb4b4b4(Tb4b4b4)Tb4b4b4)
Te6edf3RNSTff7b72.Td2a8fflogTb4b4b4(Ta5d6fffTa5d6ff"Ta5d6ffAn Tffd700{Tffa657strTb4b4b4(Tffa657typeTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4)Tffd700}Ta5d6ff occurred while updating service telemetry: Tffd700{Tffa657strTb4b4b4(Te6edf3eTb4b4b4)Tffd700}Ta5d6ff"Tb4b4b4, Te6edf3RNSTff7b72.Td2a8ffLOG_ERRORTb4b4b4)
Te6edf3RNSTff7b72.Td2a8fflogTb4b4b4(Te6edf3exception_infoTb4b4b4, Te6edf3RNSTff7b72.Td2a8ffLOG_ERRORTb4b4b4)
Te6edf3layout_object_details Tff7b72= Ta5d6ff"""
Ta5d6ff#:import MDLabel kivymd.uix.label.MDLabel
Ta5d6ff#:import OneLineIconListItem kivymd.uix.list.OneLineIconListItem
Ta5d6ff#:import Button kivy.uix.button.Button
Ta5d6ff<ODView>
Ta5d6ff IconLeftWidget:
Ta5d6ff icon: root.icon
Ta5d6ff<RVDetails>:
Ta5d6ff viewclass: Ta5d6ff"Ta5d6ffODViewTa5d6ff"
Ta5d6ff effect_cls: Ta5d6ff"Ta5d6ffScrollEffectTa5d6ff"
Ta5d6ff RecycleBoxLayout:
Ta5d6ff default_size: None, dp(50)
Ta5d6ff default_size_hint: 1, None
Ta5d6ff size_hint_y: None
Ta5d6ff height: self.minimum_height
Ta5d6ff orientation: Ta5d6ff"Ta5d6ffverticalTa5d6ff"
Ta5d6ffMDScreen:
Ta5d6ff name: Ta5d6ff"Ta5d6ffobject_details_screenTa5d6ff"
Ta5d6ff
Ta5d6ff BoxLayout:
Ta5d6ff orientation: Ta5d6ff"Ta5d6ffverticalTa5d6ff"
Ta5d6ff MDTopAppBar:
Ta5d6ff id: details_bar
Ta5d6ff title: Ta5d6ff"Ta5d6ffDetailsTa5d6ff"
Ta5d6ff anchor_title: Ta5d6ff"Ta5d6ffleftTa5d6ff"
Ta5d6ff elevation: 0
Ta5d6ff left_action_items:
Ta5d6ff [[Ta5d6ff'Ta5d6ffmenuTa5d6ff'Ta5d6ff, lambda x: root.app.nav_drawer.set_state(Ta5d6ff"Ta5d6ffopenTa5d6ff"Ta5d6ff)]]
Ta5d6ff right_action_items:
Ta5d6ff [
Ta5d6ff [Ta5d6ff'Ta5d6ffmap-searchTa5d6ff'Ta5d6ff, lambda x: root.app.peer_show_location_action(root.delegate)],
Ta5d6ff [Ta5d6ff'Ta5d6ffrefreshTa5d6ff'Ta5d6ff, lambda x: root.delegate.reload_telemetry()],
Ta5d6ff [Ta5d6ff'Ta5d6fftrash-can-outlineTa5d6ff'Ta5d6ff, lambda x: root.delegate.delete_telemetry_action()],
Ta5d6ff [Ta5d6ff'Ta5d6ffcloseTa5d6ff'Ta5d6ff, lambda x: root.delegate.close_action()],
Ta5d6ff ]
Ta5d6ff MDBoxLayout:
Ta5d6ff id: object_header
Ta5d6ff orientation: Ta5d6ff"Ta5d6ffhorizontalTa5d6ff"
Ta5d6ff spacing: dp(24)
Ta5d6ff size_hint_y: None
Ta5d6ff height: self.minimum_height
Ta5d6ff padding: dp(24)
Ta5d6ff MDIconButton:
Ta5d6ff id: object_appearance
Ta5d6ff icon: Ta5d6ff"Ta5d6ffaccount-questionTa5d6ff"
Ta5d6ff icon_color: [0,0,0,1]
Ta5d6ff md_bg_color: [1,1,1,1]
Ta5d6ff theme_icon_color: Ta5d6ff"Ta5d6ffCustomTa5d6ff"
Ta5d6ff icon_size: dp(32)
Ta5d6ff on_release: root.app.converse_from_telemetry()
Ta5d6ff MDLabel:
Ta5d6ff id: name_label
Ta5d6ff markup: True
Ta5d6ff text: Ta5d6ff"Ta5d6ffObject NameTa5d6ff"
Ta5d6ff font_style: Ta5d6ff"Ta5d6ffH6Ta5d6ff"
Ta5d6ff MDBoxLayout:
Ta5d6ff orientation: Ta5d6ff"Ta5d6ffhorizontalTa5d6ff"
Ta5d6ff spacing: dp(24)
Ta5d6ff size_hint_y: None
Ta5d6ff height: self.minimum_height
Ta5d6ff padding: [dp(24), dp(0), dp(24), dp(24)]
Ta5d6ff MDRectangleFlatIconButton:
Ta5d6ff id: telemetry_button
Ta5d6ff icon: Ta5d6ff"Ta5d6ffcontent-copyTa5d6ff"
Ta5d6ff text: Ta5d6ff"Ta5d6ffCopy TelemetryTa5d6ff"
Ta5d6ff padding: [dp(0), dp(14), dp(0), dp(14)]
Ta5d6ff icon_size: dp(24)
Ta5d6ff font_size: dp(16)
Ta5d6ff size_hint: [1.0, None]
Ta5d6ff on_release: root.delegate.copy_telemetry(self)
Ta5d6ff disabled: False
Ta5d6ff MDRectangleFlatIconButton:
Ta5d6ff id: coordinates_button
Ta5d6ff icon: Ta5d6ff"Ta5d6ffmap-marker-outlineTa5d6ff"
Ta5d6ff text: Ta5d6ff"Ta5d6ffCopy CoordinatesTa5d6ff"
Ta5d6ff padding: [dp(0), dp(14), dp(0), dp(14)]
Ta5d6ff icon_size: dp(24)
Ta5d6ff font_size: dp(16)
Ta5d6ff size_hint: [1.0, None]
Ta5d6ff on_release: root.delegate.copy_coordinates(self)
Ta5d6ff disabled: False
Ta5d6ff
Ta5d6ff MDSeparator:
Ta5d6ff orientation: Ta5d6ff"Ta5d6ffhorizontalTa5d6ff"
Ta5d6ff height: dp(1)
Ta5d6ff MDBoxLayout:
Ta5d6ff orientation: Ta5d6ff"Ta5d6ffverticalTa5d6ff"
Ta5d6ff id: object_details_container
Ta5d6ff
Ta5d6ff MDSeparator:
Ta5d6ff orientation: Ta5d6ff"Ta5d6ffhorizontalTa5d6ff"
Ta5d6ff height: dp(1)
Ta5d6ff MDBoxLayout:
Ta5d6ff orientation: Ta5d6ff"Ta5d6ffhorizontalTa5d6ff"
Ta5d6ff spacing: dp(24)
Ta5d6ff size_hint_y: None
Ta5d6ff height: self.minimum_height
Ta5d6ff padding: [dp(24), dp(24), dp(24), dp(24)]
Ta5d6ff MDRectangleFlatIconButton:
Ta5d6ff id: send_button
Ta5d6ff icon: Ta5d6ff"Ta5d6ffupload-lockTa5d6ff"
Ta5d6ff text: Ta5d6ff"Ta5d6ffSend UpdateTa5d6ff"
Ta5d6ff padding: [dp(0), dp(14), dp(0), dp(14)]
Ta5d6ff icon_size: dp(24)
Ta5d6ff font_size: dp(16)
Ta5d6ff size_hint: [1.0, None]
Ta5d6ff on_release: root.delegate.send_update()
Ta5d6ff disabled: False
Ta5d6ff MDRectangleFlatIconButton:
Ta5d6ff id: request_button
Ta5d6ff icon: Ta5d6ff"Ta5d6ffarrow-down-bold-hexagon-outlineTa5d6ff"
Ta5d6ff text: Ta5d6ff"Ta5d6ffRequest UpdateTa5d6ff"
Ta5d6ff padding: [dp(0), dp(14), dp(0), dp(14)]
Ta5d6ff icon_size: dp(24)
Ta5d6ff font_size: dp(16)
Ta5d6ff size_hint: [1.0, None]
Ta5d6ff on_release: root.delegate.request_update()
Ta5d6ff disabled: False
Ta5d6ff # MDBoxLayout:
Ta5d6ff # orientation: Ta5d6ff"Ta5d6ffhorizontalTa5d6ff"
Ta5d6ff # spacing: dp(16)
Ta5d6ff # size_hint_y: None
Ta5d6ff # height: self.minimum_height
Ta5d6ff # padding: [dp(24), dp(16), dp(24), dp(24)]
Ta5d6ff # MDRectangleFlatIconButton:
Ta5d6ff # id: delete_button
Ta5d6ff # icon: Ta5d6ff"Ta5d6fftrash-can-outlineTa5d6ff"
Ta5d6ff # text: Ta5d6ff"Ta5d6ffDelete All TelemetryTa5d6ff"
Ta5d6ff # padding: [dp(0), dp(14), dp(0), dp(14)]
Ta5d6ff # icon_size: dp(24)
Ta5d6ff # font_size: dp(16)
Ta5d6ff # size_hint: [1.0, None]
Ta5d6ff # on_release: root.delegate.copy_telemetry(self)
Ta5d6ff # disabled: False
Ta5d6ff
Ta5d6ff"""
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────